package actores
{
	// ========================================================================
	import flash.geom.Point;
	
	import kapi.utiles.Evento;
	
	import nivel.Mundo;
	// ========================================================================

	public class Actor
	{
		// ====================================================================
		private var _posicion:Point
		private var _mundo:Mundo
		private var _alMover:Evento
		// ====================================================================

		// ====================================================================
		// CONSTRUCTOR
		// ====================================================================

		// --------------------------------------------------------------------
		public function Actor()
		{
			_posicion = new Point(0, 0)
			_alMover = new Evento()
		}

		// ====================================================================
		// PROPERTIES
		// ====================================================================

		// --------------------------------------------------------------------
		public function get mundo():Mundo { return _mundo }
		// --------------------------------------------------------------------
		public function get posicion():Point { return _posicion }
		// --------------------------------------------------------------------
		public function get alMover():Evento { return _alMover }

		// ====================================================================
		// FUNCIONES
		// ====================================================================

		// --------------------------------------------------------------------
		public function posicionar(posicion:Point):void
		{
			_posicion = posicion
			_alMover.notificar()
		}
		// --------------------------------------------------------------------
		public function mover(velocidad:Point):void
		{
			_posicion = _posicion.add(velocidad)
			_alMover.notificar()
		}
		// --------------------------------------------------------------------
		public function incluirEn(mundo:Mundo):void
		{
			_mundo = mundo
		}
	}
}